package com.merry.aop.joinpoint;

import org.aopalliance.intercept.Invocation;
import org.aopalliance.intercept.Joinpoint;
import org.aopalliance.intercept.MethodInterceptor;

import java.lang.reflect.Method;

/**
 * 对方法调用的描述，在方法调用时提供给拦截器。
 * <b>方法调用 {@link MethodInvocation}</b> 是一个连接点，可以被<b>方法拦截器 {@link MethodInterceptor} 拦截</b>。
 *
 * @see MethodInterceptor
 */
public interface MethodInvocation extends Invocation {

    /**
     * 获取被调用的方法。
     * 此方法是 {@link Joinpoint#getStaticPart} 方法的友好实现（结果相同）。
     * @return the method being called
     */
    Method getMethod();

}
